Method and system for securing transactions made through a mobile communication device

ABSTRACT

A method for transmitting data between a mobile communication device and a server. The method includes running a mobile application on the mobile communication device. The mobile application is hosted on the mobile communication device through the server as a Software as a Service (SaaS). The method further includes transmitting data associated with the mobile application between the mobile communication device and the server, in which transmission of the data between the mobile communication device and the server is monitored through the server.

FIELD OF INVENTION

The present invention relates to data communications and wireless devices.

BACKGROUND OF THE INVENTION

Mobile communication devices—e.g., cellular phones, personal digital assistants, and the like—are increasingly being used to conduct payment transactions as described in U.S. patent application Ser. No. 11/933,351, entitled “Method and System For Scheduling A Banking Transaction Through A Mobile Communication Device”, and U.S. patent application Ser. No. 11/467,441, entitled “Method and Apparatus For Completing A Transaction Using A Wireless Mobile Communication Channel and Another Communication Channel, both of which are incorporated herein by reference. Such payment transactions can include, for example, purchasing goods and/or services, bill payments, and transferring funds between bank accounts. Given the sensitive nature of personal money or banking data that may be stored on a mobile communication device as a result of the ability to transact payments, it is critical to protect a user from fraudulent usage due to, e.g., loss or theft of a mobile communication device.

BRIEF SUMMARY OF THE INVENTION

In general, in one aspect, this specification describes a method for transmitting data between a mobile communication device and a server. The method includes running a mobile application on the mobile communication device. The mobile application is hosted on the mobile communication device through a management server. The method further includes transmitting data associated with the mobile application between the mobile communication device and the server, in which transmission of the data between the mobile communication device and the management server is monitored through the management server.

Implementations can include one or more of the following features. Transmitting data can include generating a session key that is only valid for a given communication session between the mobile communication device and the server. The method can further include disabling use of the mobile application running on the mobile communication device through the management server by invalidating the session key. The method can further include timing out a given communication session between the mobile communication device and the management server after a pre-determined amount of time to prevent theft of data that is accessible through the mobile application. Transmitting data associated with the mobile application between the mobile communication device and the management server can include prompting a user to enter a payment limit PIN in response to a pending purchase exceeding a pre-determined amount. The payment limit PIN can be applied to all purchases globally or on a per-payment basis. The method can include use of biometrics to authenticate the user before authorizing the transacation. The mobile application can comprise a payment transaction application that permits a user to perform one or more of the following services including bill payment, fund transfers, or purchases through the mobile communication device. The mobile application can permit a user to subscribe to each of the services separately.

The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one implementation of a block diagram of a communication system including a wireless mobile communication device.

FIG. 2 illustrates one implementation of the wireless mobile communication device of FIG. 1.

FIG. 3 illustrates one implementation of a method for authenticating a user.

FIG. 4 illustrates one implementation of a method for remotely locking use of a mobile application on a mobile communication device.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates one implementation of a communication system 100. The communication system 100 includes a hand-held, wireless mobile communication device 102 a point-of-sale device 104 and a remote server 106. In one implementation, the mobile communication device 102 includes a mobile application (discussed in greater detail below) that permits a user of the mobile communication device 102 to conduct payment transactions. Payment transactions can include, for example, using contactless payment technology at a retail merchant point of sale (e.g., through point of sale device 104), using mobile/internet commerce (e.g., purchase tickets and products, etc.), storage of payment information and other digital artifacts (receipts, tickets, coupons, etc), storage of banking information (payment account numbers, security codes, PIN's, etc.), and accessing banking service (account balance, payment history, bill pay, fund transfer, etc.), and so on.

In one implementation, the mobile application running on the mobile communication device 102 implements one or more of the following tools to secure data that may be stored and presented on the mobile communication device 102 as a result of a payment transaction. The mobile application can implemented one the mobile communication device 102 through a management server which hosts and operates (either independently or through a third-party) the application for use by its customers over the Internet, or other wireless network (e.g., a private network), or a wired network. In one implementation, customers do not pay for owning the software itself but rather for using the software. In one implementation, the mobile application is accessible through an API accessible over the Web (or other network). The mobile application can include a multi-factored PIN-based login and authentication, and include session keys and have command-level authentication. In one implementation, the mobile application running on the mobile communication device 102 can be remotely locked through a remote server (e.g., remote server 106). In one implementation, a PIN request can be implemented to limit the amount of purchases that can be made. Further, security codes for different payment methods can be implemented to protect a user. Each of these tools is discussed in greater detail below.

FIG. 2 illustrates one implementation of the mobile communication device 102. The mobile communication device 102 includes a mobile application 200 that (in one implementation) is provided to the mobile communication device 102 through a remote server (e.g., remote server 106). In one implementation, the mobile application is a Mobile Wallet application available from Mobile Candy Dish, Inc., of Berkeley, Calif. Providing the mobile application as a hosted service enables central monitoring and management of all security aspects of the service at the remote server. In addition, data (corresponding to a payment transaction) can be stored on the remote server (e.g., remote server 106 (FIG. 1)) in a secure manner. In one implementation, the remote server is a management server that is can be maintained by Mobile Candy Dish or a trusted third party, as described in U.S. patent application Ser. No. 11/933,351. For example, the data can be securely stored on the remote server using conventional PCI guidelines. Hence, in the event the mobile communication device 102 is lost (or stolen), no confidential data can be recovered as no data is stored on the mobile communication device 102. In addition, an added benefit is that a user can recover seamlessly by syncing new mobile communication device (via new installation of the mobile application) with the service. Thus, in one implementation, sensitive information (e.g., banking account numbers, credit card account numbers, expiry dates, and so on) are never stored on the mobile communication device. This reduces risk and exposure of the user's private information and data.

Client Login and Authentication

In general, while effort is made to minimize storage of sensitive user information and data in a memory of a mobile communication device, in one implementation, some data is stored in the memory of a mobile communication device due to reasons of performance, usability and user experience. For example, data may need to be stored on a mobile communication device in the following circumstances. Payment credentials, coupons, tickets, and so on may have to be stored on the secure element of an NFC phone. Account balance, banking payment history, etc., may be locally cached on a mobile communication device. In one implementation, a user can opt-in to save payment method security codes in the client (or mobile application) for convenience. Tickets and/or coupons may be locally cached so that a user can redeem the tickets and/or coupons in an offline mode. For example, a mobile communication device may be offline in a situation in which network connectivity inside a building is degraded, and storing a ticket and/or coupon in a local cache of the mobile communication device permits the user to access the ticket or coupon.

In addition to data partitioning, in one implementation, users have an ability to subscribe to different services. For example, User A may subscribe to “Mobile Payments” and “Mobile Banking” services, while User B may only subscribe to “Mobile Banking” and “What's Nearby” services. Hence, in one implementation, the mobile application includes a mechanism to enable/disable different services on the Client based on particular services to which users are subscribed. Table 1 below illustrates example services that are enabled/disabled based on user subscriptions.

TABLE 1 USER SERVICE SUBSCRIPTION STATUS User A Money Manager Disabled User B Money Manager Transaction Only User C Money Manager Transaction, Payment User D Money Manager Transaction, Payment, BillPay, FundTransfer The above example control access to the Money Manager service and what privileges within the service a given user can perform. This will be used by the Client (mobile application) to enable/disable available features on the Client.

In one implementation, when a user subscribes to a mobile wallet the user is assigned credentials that include a unique WalletID, SiteKey, a user-defined PIN, as well as tokens that specify access and privileges for the different services. FIG. 3 illustrates one implementation of a method 300 for authenticating a user. User input is received (through a mobile communication device) logging into the mobile application service (step 302). In one implementation, when a user attempts to login with the client, the user is prompted to enter login credentials (e.g., mobile phone number, 1-time activation code, Wallet PIN, etc.). A session key is generated (step 304). In one implementation, the session key is a unique server-generated session key that is valid only for the duration of a given session. In one implementation, the session key is used to ensure the server can identify the client and ensure that the client has been previously authenticated. Upon a successful login, the server will transfer credentials, service access and privileges (step 306), which are locally cached on the mobile communication device. The service access and privileges control the behavior of the client. In one implementation, to prevent command spoofing, the session key is passed in every API server call. The server will validate (every time) the session key is valid. If valid, the API server call is processed. Failure to validate the session key will cause a failure. In such a case, the client will flush the cached PIN and force the user to re-authenticate (or re-login).

Remote Lock

In one implementation, a mobile application running on a mobile communication device can be remotely locked (or disabled) by invalidating a session key. Users, via calling a Customer Care, a personal web portal, or some other mechanism, can implement changes (e.g., change PIN, etc.) that causes the server to invalidate the session key. In real-time, the next attempt by the client to issue an API server call, validation of the session key will fail, which (in one implementation) causes the client to automatically flush the cached PIN and session key, and force the user to re-authenticate. In addition, the client can perform additional actions, in addition to flushing the cached PIN and session key. This includes, but is not limited to, one or more of the following: changing the secure element mode to effective temporarily or permanently disable the secure element—i.e., a user can remotely alter the state of the smart chip to lock it remotely; and deleting all cached data stored in the memory (or disk) of the mobile communication device.

Session Time Out

In one implementation, while a client is open, a user has access to transaction data. In such an implementation, users who may misplace a mobile communication device while the client is open may expose the user to risk of information theft. Therefore, in one implementation, mobile application (or client) shuts down after a period of inactivity. Additional tasks that can be associated with the shutdown procedure can include, but is not limited to, temporarily shutting down a secure element (of the mobile communication device) to prevent NFC payments, NFC coupon redemption, and NFC ticket redemption.

Payment Limit PIN

For payments (mobile commerce ticket purchase, etc.), in one implementation a user can prevent either fraudulent purchases or accidental purchases by forcing a PIN prompt when a purchase amount exceed a user-specified value. In one implementation, a user can control this behavior globally (e.g., across all users' payment methods) or on a per-payment-method basis. Thus, when a user purchases ticket and selects a payment method (to pay for purchase), if the transaction amount exceeds a specified payment method's limit, the client will trigger and prompt for the PIN. In order to proceed with purchase, the user has to enter the correct PIN. The user's input is validated against the cached PIN on the client. The payment transaction will proceed if validated. Otherwise, an appropriate response is generated to the user. Effectively, this is a mechanism for the user (not the Merchant or Issuing Bank) to throttle/control the dollar amount that can be authorized for various payments and transactions. In the event of a contactless purchase, the client controls the smart chip. In the event of an electronic purchase (ticketing, etc.), a server can manages the controls.

Local Storage of Payment Security Codes

As a convenience to users, a user can opt-in and have only the security codes (CVV, etc.) associated to each of their payment methods locally stores on the client. In one implementation, management tools are provided to add/delete/edit these security codes. In one implementation, the security codes are encrypted (Key Management of encryption key performed by a server) and then only stored in the client on the mobile communication device. In one implementation, security codes are not stored in any form on the server. The encryption key and security codes can be kept separately to prevent fraudulent usage.

Although the present invention has been particularly described with reference to implementations discussed above, various changes, modifications and substitutes are can be made. Accordingly, it will be appreciated that in numerous instances some features of the invention can be employed without a corresponding use of other features. Further, variations can be made in the number and arrangement of components illustrated in the figures discussed above. 

1. A method for transmitting data between a mobile communication device and a management server, the method comprising: executing a mobile application at the mobile communication device, the mobile application hosted at the mobile communication device; exchanging data associated with the mobile application between the mobile communication device and the management server wherein transmission of the data between the mobile communication device and the server is monitored through the server and wherein the mobile application permits a user to conduct a contactless payment transaction, comprising of executing a payment application on a processor of a secure element that is coupled to the mobile communication device, the secure element including: a memory storing the payment application and payment credentials, the execution of the payment application facilitating the transfer of the payment credentials with the remote Point-Of-Sale terminal, the processor of the secure element, wherein the processor is configured for near field communication, and further wherein the processor executes the payment application stored in the memory; a wireless transceiver that sends transaction data including the payment credentials associated with the executed payment application through a second communication channel to the remote Point-Of Sale terminal, the second communication channel being different from a first communication channel through which the mobile communication device communicates voice data, the payment application executed in response to a near field communication induction-based trigger from the remote Point-Of-Sale terminal; wirelessly transmitting transaction data associated with the executed payment application through the second communication channel to the remote Point-Of-Sale terminal using the wireless transceiver; receiving manual user authentication at the remote Point-Of-Sale terminal if the remote Point-Of-Sale terminal determines authentication is required and prompts the user for authentication wherein authentication is performed by a remote server after the payment application has been triggered by the remote terminal and after payment credentials have been transferred to remote terminal, but prior to the payment being processed.
 2. The method of claim 1, wherein transmitting data includes use of a session key that is only valid for a given communication session between the mobile communication device and the management server.
 3. The method of claim 2, further comprising disabling use of the mobile application executing at the mobile communication device as a result of the management server invalidating the session key.
 4. The method of claim 2, further comprising timing out a given communication session between the mobile communication device and the management server after a pre-determined amount of time to prevent access to data that is otherwise accessible through execution of the mobile application.
 5. The method of claim 4, wherein the timing out of the communication session results from server inactivity.
 6. The method of claim 4, wherein the timing out of the communication results from inactivity related to execution of the mobile application.
 7. The method of claim 2, wherein the session key is generated anew each time the mobile communication device commences a session with the management server.
 8. The method of claim 7, wherein the session key is validated during each server call of the session.
 9. The method of claim 8, wherein validation of the session key is required prior to permitting the user to conduct the transaction using the data.
 10. The method of claim 9, wherein a failure to validate the session key prevents subsequent NFC transactions.
 11. The method of claim 1, wherein transmitting data between the mobile communication device and the management server includes prompting a user to enter a payment limit PIN in response to a purchase exceeding a pre-determined amount.
 12. The method of claim 11, wherein the payment limit PIN is globally applied to all purchases.
 13. The method of claim 11, wherein the payment limit PIN is applied to purchases on a per-payment method basis.
 14. The method of claim 1, wherein the mobile application is executable to permit a user to further perform one or more of a transaction involving ticketing, Internet commerce, the storage of a digital artifact, the storage of payment information, the storage of banking information, or accessing a banking service.
 15. The method of claim 14, wherein the mobile application is executable to permit a user to separately subscribe to each of the services.
 16. The method of claim 1, wherein controlling access to the data includes the mobile application deleting cached data from the mobile communication device.
 17. The method of claim 16, wherein flushing cached data from the mobile communication device includes deleting all contents of the secure element.
 18. The method of claim 1, wherein controlling access to the data includes the mobile application temporarily or permanently disabling the secure element.
 19. The method of claim 18, wherein disabling the secure element prevents NFC payments.
 20. The method of claim 18, wherein disabling the secure element prevents NFC coupon redemption.
 21. The method of claim 18, where disabling the secure element prevents NFC ticket redemption.
 22. The method of claim 1, further comprising generating a request for a user PIN to utilize data stored at the secure element, the PIN request generated through execution of the mobile application.
 23. The method of claim 1, further comprising prompting a user for biometric data before permitting the user to conduct a transaction requiring data.
 24. The method of claim 1, further comprising prompting a user for multifactor authentication before permitting the user to conduct a transaction requiring data.
 25. The method of claim 1, wherein a transaction requiring data requires a security code associated with a payment method.
 26. The method of claim 25, further comprising storing the security code at the mobile device and decrypting the security code using an encryption key stored at the management server prior to conducting the transaction requiring data.
 27. The method of claim 25, further comprising storing the security code and encryption key at the mobile communication device.
 28. The method of claim 27, further comprising decrypting the security code prior to conducting the transaction requiring data.
 29. A communication system comprising: a management server; and a mobile communication device that runs a mobile application permitting a user to: exchange data associated with the mobile application to the management server, the mobile application hosted at the mobile communication device, through a management server wherein transmission of the data between the mobile communication device and the server is monitored through the server and wherein the mobile application permits a user to conduct a contactless payment transaction comprising of a payment application on a processor of a secure element that is coupled to the mobile communication device, the secure element including: a memory storing the payment application and payment credentials, the execution of the payment application facilitating the transfer of the payment credentials with the remote Point-Of-Sale terminal, the processor of the secure element, wherein the processor is configured for near field communication, and further wherein the processor executes the payment application stored in the memory a wireless transceiver that sends transaction data including the payment credentials associated with the executed payment application through a second communication channel to the remote Point-Of-Sale terminal, the second communication channel being different from a first communication channel through which the mobile communication device communicates voice data, the payment application executed in response to a near field communication induction-based trigger from the remote Point-Of-Sale terminal; and wirelessly transmitting transaction data associated with the executed payment application through the second communication channel to the remote Point-Of-Sale terminal using the transceiver; receiving manual user authentication at the remote Point-Of-Sale terminal if the remote Point-Of-Sale terminal determines authentication is required and prompts the user for authentication wherein authentication is performed by a remote server after the payment application has been triggered by the remote terminal and after payment credentials have been transferred to remote terminal, but prior to the payment being processed.
 30. The communication system of claim 29, wherein the management server generates a session key that is only valid for a given communication session between the mobile communication device and the management server.
 31. The communication system of claim 30, wherein the management server disables use of the mobile application running on the mobile communication device by invalidating the session key.
 32. The system of claim 30, wherein the session key is generated anew each time the mobile communication device commences a new session with the management server.
 33. The system of claim 32, wherein the session key is validated during each server call of the session.
 34. The system of claim 33, wherein validation of the session key is required prior to permitting the user to conduct the transaction using the data.
 35. The system of claim 34, wherein a failure to validate the session key prevents subsequent NFC transactions.
 36. The communication system of claim 29, wherein the management server times out a given communication session between the mobile communication device and the management server after a pre-determined amount of time to prevent access to data that is otherwise accessible through the mobile application.
 37. The communication system of claim 36, wherein the time-out results from inactivity at the management server.
 38. The communication system of claim 36, wherein the time-out results from inactivity related to the mobile application at the mobile communication device.
 39. The communication system of claim 29, wherein the mobile application is executable to permit a user to further perform one or more of the following services including ticketing, Internet commerce, the storage of a digital artifact, the storage of payment information, the storage of banking information, or accessing a banking service.
 40. The communication system of claim 29, wherein the mobile communication device is a cellular phone or a wireless personal digital assistant (PDA).
 41. The communication system of claim 29, wherein the mobile application data deletes cached data from the memory of the mobile communication device.
 42. The communication system of claim 29, wherein data the mobile application to temporarily or permanently disable the secure element. 